package com.javarush.test.level20.lesson02.task03;

import java.io.*;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

/* Знакомство с properties
В методе fillInPropertiesMap считайте имя файла с консоли и заполните карту properties данными из файла.
Про .properties почитать тут - http://ru.wikipedia.org/wiki/.properties
Реализуйте логику записи в файл и чтения из файла для карты properties.
*/
public class Solution {
    public static Map<String, String> properties = new HashMap<>();



    public  void fillInPropertiesMap() {
        BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
        String fileName= null;
        FileInputStream fileInputStream=null;
        try {
            fileName = reader.readLine();
            fileInputStream=new FileInputStream(new File(fileName));
        } catch (Exception e) {
            e.printStackTrace();
        }
        try {
            load(fileInputStream);
        } catch (Exception e) {
            e.printStackTrace();
        }



    }

    public void save(OutputStream outputStream) throws Exception {
        Properties props = new Properties();
        props.putAll(properties);
        props.store(outputStream, null);
        outputStream.close();
    }

    public void load(InputStream inputStream) throws Exception {
        Properties props = new Properties();
        props.load(inputStream);
        Enumeration<?> e = props.propertyNames();
        while (e.hasMoreElements()) {
            String key = (String) e.nextElement();
            String value = props.getProperty(key);
            properties.put(key,value);
        }
        inputStream.close();
    }
}
